package restaurante.sessionbeans;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import restaurante.entidades.DetallePedido;
import restaurante.entidades.Pedido;

@Stateless
public class DetallePedidoFacade extends AbstractFacade<DetallePedido> implements DetallePedidoFacadeLocal {
    @PersistenceContext(unitName = "RestauranteEJB-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public DetallePedidoFacade() {
        super(DetallePedido.class);
    }
    
    @Override
    public int obtenerIdDetallePedido(){
        String query = "SELECT MAX(p.detallePedidoPK.corProducto) FROM DetallePedido p";
        Query qr = em.createQuery(query,Integer.class);
        return (Integer)qr.getSingleResult();
    }
    
    @Override
    public List<DetallePedido> listarDetallePedido(Pedido pedido){
        String query = "SELECT d "
                     + "FROM DetallePedido d, Pedido p "
                     + "WHERE d.detallePedidoPK.pedidoIdpedido = p.idpedido AND "
                     + "p.clienteidCliente.idCliente = '"+pedido.getClienteidCliente().getIdCliente()+"' AND "
                     + "p.mesaIdmesa.idmesa = "+pedido.getMesaIdmesa().getIdmesa().toString()+" AND "
                     + "p.estado = 0";
        Query qr = em.createQuery(query);
        return (List<DetallePedido>)qr.getResultList();
    }
}